import sympy as sym


def myXor(a, b):
    """
    Returns logical XOR result of a and b

    Args:
        a : symbolic expression.
        b : symbolic expression.

    Returns:
        the result of a xor b(a ^ b).
    """
    return sym.Xor(a,b)


# Test case 1: Input is pure boolean
x1 = True
x2 = False
assert myXor(x1, x2) == True
assert myXor(not x1, x2) == False

# Test case 2: Input is boolean expressions
x1 = 10 > 20
x2 = 5 == 5
assert myXor(x1, x2) == True
assert myXor(x1, not x2) == False

# Test case 3: Input is symbolic expressions
x,y = sym.symbols('x y')
x1 = x & y
x2 = ~y
assert myXor(x1, x2) == x1 ^ x2
assert myXor(~x1, x2) == ~x1 ^ x2


